package cn.edu.scau.sec.zhangsan.composite.safe;

import java.util.HashSet;
import java.util.Set;

public class SafeTestSuite extends SafeTestCase {
//	包含的测试用例
	Set<SafeTestCase> testCases = new HashSet<SafeTestCase>();
	
	public void addChild(SafeTestCase testCase) {
		testCases.add(testCase);
	}
	
	public void removeChild(SafeTestCase testCase) {
		testCases.remove(testCase);
	}

	public Set<SafeTestCase> getChildren() {
		return testCases;
	}

	public boolean test() {
		// TODO 递归获取测试用例套件中的测试用例，如果是原子测试用例，就运行这个测试用例的test方法；
		
		for(SafeTestCase testcase: testCases) {
			if(testcase instanceof SafeAtomTestCase) {
//				原子测试用例，
				testcase.test();
			}else {
//				不是原子测试用例，递归调用CompositeTestCase的test方法
				test();
			}
		}
//		组合测试用例测试完成，发回true状态。
		return true;
	}
}